In digital transmission systems, for a variety of reasons, the spectrum of the received wave form may differ from the spectrum of the transmitted signal. Such differences may be caused by the violation of bandwidth constraints, atmospheric transmission complications, adjacent channel interference and the like. In such cases, it is necessary, at the receiver, to perform a spectrum analysis to find the constituent frequencies which produce the composite spectrum.
The dominant mechanism currently in use to parameterize an ordinary real-world signal as an amplitude versus frequency distribution is a fourier transform in which a signal is assumed to be describeable by the formula ##EQU1##
Hardware (and computer program) methods for determining the set of amplitude and phase coefficients A.sub.k, B.sub.k, incorporating a technique known as the Fast Fourier Transform (FFT) are widely used. Another widely used mechanism to parameterize the received signal as an amplitude versus frequency distribution is to construct a parallel array of filters for an analog signal, each filter responding only to a very narrow band of frequencies, and digitize the amplitudes of the outputs of the filters to yield average values for each frequency band according to the formula ##EQU2## In such cases, however, the actual dominant frequencies must be inferred by peak detection and interpolation.
In the Fast Fourier Transform method, a large number of samples must be processed to yield the distribution. As a consequence, it can yield results only at a much lower rate than the sampling rate. In the filter array method, a very large number of filters are required and the narrowness of the individual filter passbands causes them to be slow in responding to changes in amplitude of the frequency components that they accept.
The present invention parameterizes the received signal to yield estimates of the three parameters frequency, amplitude and phase for each frequency component assumed to be present. These estimates are yielded at the same rate as the sampling rate with a constant time delay determined only by the assumed number of frequency components (N). The amount of hardware required depends only upon N and does not depend upon the bandwidth of the input signal as the filter array method does. The precision of the required output is determined only by the precision required of the components, rather than (as is the case for the Fast Fourier Transform methods) determining the number of components required and the time delay before results are available.
The apparatus includes a storage device such as a shift register for receiving and sampling the input digital signal at a time, t, with a time interval, h, between samples. Thus, the storage device stores samples from the most recent to the oldest sample. A weighted adder receives the parallel outputs from the shift register and calculates a matrix of row and column component signals, C.sub.nK, by adding selected ones of the stored samples using a weighting function. A matrix inverter is coupled to the weighted adder for receiving the C.sub.nK row and column signals and generating a set of symmetrical polynomials with each polynomial having coefficients, Z, representing the cosines of the N frequency components of the input signal. A polynomial solver is coupled to the matrix inverter for receiving the set of symmetrical polynomials and calculating the roots of each polynomial to obtain the cosine frequency components, Z.sub.m, where Z.sub.m =COS.omega..sub.m h where m= the input frequency component between 1 and N. A function inverter is coupled to the polynomial solver for calculating the frequency, .omega..sub.m, of each of the N unknown input sine waves for each of the digital samples according to the equation .omega..sub.m =1/hacosZ.sub.m.
Once the frequency is obtained, sine/cosine functions can be generated and, using the stored digital input samples, the respective signal amplitude coefficients and signal phase coefficients can be calculated. From these coefficients, the signal amplitude and signal phase can be determined.